/*
 * Copyright (C) 2017 Hisilicon Limited.
 *
 * This program is free software; you can redistribute it and /or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version
 */

#ifndef _DEVDRV_COMMON_MSG_H_
#define _DEVDRV_COMMON_MSG_H_

#define COMMON_MSG_QUEUE_DEPTH 1024
#define DEVDRV_COMMON_MSG_CLIENT_CNT 64


struct devdrv_common_msg {
    struct devdrv_msg_chan *msg_chan;
    int (*common_fun[DEVDRV_COMMON_MSG_TYPE_MAX])(u32 devid, void *data, u32 in_data_len, u32 out_data_len,
        u32 *real_out_len);
};


int devdrv_alloc_common_msg_queue(struct devdrv_pci_ctrl *pci_ctrl);
void devdrv_free_common_msg_queue(struct devdrv_pci_ctrl *pci_ctrl);

#endif
